Various types of software applications provide functionality for allowing the use of themes. For example, a presentation application may allow a user to select a theme. In response to the selection of a theme, the presentation application may alter user interface (“UI”) elements based upon the selected theme. The UI elements may include, for instance, backgrounds, foregrounds, fonts, and other types of UI elements. The altered UI elements might include UI elements displayed by the presentation application and/or elements within a document opened for editing by the presentation application. The presentation application might also allow a user to change the theme in different ways, including the creation of custom themes.
Some applications (referred to herein as “host applications”) might also allow the utilization of extensions (referred to herein as “host extensions”) that extend the functionality of the application in some way. For example, a word processing application might utilize a dictionary extension to allow users to find a definition of a selected word. Host extensions might also provide their own UI elements and/or modify content contained in documents opened for editing in the host application. Additionally, host extensions might be part of the content of the document. Changes to themes made within a host application do not, however, propagate to host extensions and, as a result, the UI presented by host extensions and/or changes made to a document may be visually inconsistent with the UI presented by the host application.
It is with respect to these and other considerations that the disclosure made herein is presented.